package com.xu.blog_after_end.service;

import com.xu.blog_after_end.po.Blog;
import com.xu.blog_after_end.vo.BlogQuery;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;
import java.util.Map;

public interface BlogService {
    Blog getBlog(Long id);  // 查询博客
    Blog getAndConvert(Long id);    // 查询博客并转换成HTML
    Page<Blog> listBlog(Pageable pageable, BlogQuery blog);  // 分页查询博客
    Page<Blog> listBlog(Pageable pageable);     // 查询所有博客
    Page<Blog> listBlog(Long tagId, Pageable pageable); // 根据标签查询博客
    Page<Blog> listBlog(String query, Pageable pageable);     // 带参查询所有博客
    List<Blog> listRecommendBlogTop(Integer size);  // 查询推荐博客
    Map<String,List<Blog>> archiveBlog();
    Long countBlog();   // 查询博客总数
    Blog saveBlog(Blog blog);   // 新增博客
    Blog updateBlog(Long id,Blog blog); // 更新博客
    void deleteBlog(Long id);   // 删除博客

}
